package com.wzt;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;

//小鸟类
public class Bird {
    public BufferedImage bird;//单只鸟
    public BufferedImage[] birds;//一堆鸟
    public int x=100,y=200;
    public int width=56,height=48;
    public int index=0;//数组索引

    //向上作为正方向
    public double speed=0;//瞬时鸟向上的速度
    public double upSpeed=18;//给定的向上初速度
    public double t=0.2;//0.2秒的时间
    public double g=4;//自定义重力加速度
    public double s=0;//鸟经过t时间后的位移

    //绘制小鸟
    public Bird(){
        try {
            x=100;
            y=200;
            bird = ImageIO.read(getClass().getResource("/img/0.png"));
            birds = new BufferedImage[8];
            for(int i =0;i<birds.length;i++){
                birds[i]=ImageIO.read(getClass().getResource("/img/"+i+".png"));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    //小鸟图片动态切换
    public void fly(){
        index++;
        bird = birds[index/10%8];//除10放慢图片的变换速度，模8保证index小于8
    }

    //给小鸟一个向上初速度
    public void up(){
        speed=upSpeed;//赋完值再把speed的值传给v
    }

    //鸟运行状态的移动
    public void upAndDown(){
        double v=speed;//创建V为临时变量，为临时变量赋值
        s=v*t-g*t*t/2;//先计算位移
        y=y-(int)s;//在计算y轴坐标
        speed=v-g*t;
    }

}
